package com.ppc.service;

import com.ppc.result.PageResult;
import com.ppc.vo.ClaimDetailVO;

/**
 * 工人申诉接口
 *
 * @author Jeferry
 * @date 2023/12/20
 */
public interface WorkerClaimService {

  /**
   * 创建申诉
   *
   * @param taskId      任务id
   * @param claimType   申诉类型
   * @param claimReason 申诉原因
   */
  void createClaim(Long taskId, Integer claimType, String claimReason);

  /**
   * 查询申诉列表
   *
   * @param page        页码
   * @param pageSize    页大小
   * @param claimStatus 申诉状态
   * @return {@link PageResult}
   */
  PageResult queryClaimList(Integer page, Integer pageSize, Integer claimStatus);

  /**
   * 查询申诉详情
   *
   * @param claimId 申诉id
   * @return {@link ClaimDetailVO}
   */
  ClaimDetailVO queryClaimDetail(Long claimId);

  /**
   * 获取申诉消息
   *
   * @param page     页码
   * @param pageSize 页大小
   * @return {@link PageResult}
   */
  PageResult getClaimMessage(Integer page, Integer pageSize);
}
